| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

Classes | Public Member Functions | Static Public Member Functions | List of all members
nkWinUi::TreeView Class Referenceabstract

A graphical tree view window. More...

Inheritance diagram for nkWinUi::TreeView:

## Classes
class | Item
| Holds information of a tree view item. More...

## Public Member Functions
| TreeView (System *system) noexcept
virtual | ~TreeView ()
Item * | getItemFromData (void *data) const
virtual Item * | getSelectedItem ()=0
virtual Item * | getItemAtAbsoluteCursor (nkMaths::Point absCoords)=0
virtual Item * | getItemAtRelativeCursor (nkMaths::Point relCoords)=0
bool | getSelectOnRightClick () const
std::function< void(TreeView *)> | getSelectionCallback () const
void | setSelectionOnRightClick (bool value)
void | setSelectionCallback (std::function< void(TreeView *)> value)
virtual Item * | insertItem (nkMemory::StringView text, void *data, Item *parent=nullptr)
virtual void | deleteItem (Item *toDelete, bool keepChildrenOnUpper=false)
virtual void | changeItemLabel (Item *toChange, nkMemory::StringView label)
virtual void | clearItems ()
void | collapseAll (bool status)
void | selectItemFromItsData (void *data)
virtual void | selectItem (Item *item)=0
void | selectItemFromAbsoluteCursor (nkMaths::Point absCoords)
void | selectItemFromRelativeCursor (nkMaths::Point relCoords)
virtual void | exportIntrospection (nkExport::Node *rootNode) override
virtual void | importClassFromTree (nkExport::Node *rootNode) override
Public Member Functions inherited from nkWinUi::Component
| Component (System *system) noexcept
virtual | ~Component ()
Layout * | getLayout () const
Theme * | getTheme () const
Font * | getFont () const
nkMaths::Point | getPositionInParent () const
nkMaths::Point | getPositionInScreen () const
float | getWidth () const
float | getHeight () const
nkMaths::Rectangle | getAreaInParent () const
nkMaths::Rectangle | getAreaInScreen () const
virtual nkMaths::Point | getBorderExtents () const
virtual float | getBorderExtent (BORDER_KIND border) const
virtual float | getLayoutAllowedWidth () const
virtual float | getLayoutAllowedHeight () const
virtual float | getLayoutAllowedOffsetX () const
virtual float | getLayoutAllowedOffsetY () const
bool | isInitialized () const
System * | getSystem () const
Component * | getParentComponent () const
COMPONENT_TYPE | getComponentType () const
nkMemory::StringView | getComponentName () const
bool | getVisibility () const
virtual nkMemory::StringView | getLabel () const
void * | getData () const
bool | isEnabled () const
bool | isForegroundWindow () const
virtual unsigned int | getZDepth () const
bool | getVisibleOnLoad () const
std::function< bool(Component *)> | getCloseCallback () const
std::function< void(Component *, bool)> | getVisibilityCallback () const
std::function< void(Component *, const ClickEventData &)> | getClickCallback () const
std::function< void(Component *, const WheelEventData &)> | getWheelCallback () const
std::function< void(Component *, const KeyEventData &)> | getKeyCallback () const
virtual Layout * | setLayout (LAYOUT_TYPE layoutType)
virtual void | setTheme (Theme *theme)
virtual void | setFont (Font *font)
virtual void | setPositionInParent (nkMaths::Point position)
virtual void | setPositionInScreen (nkMaths::Point position)
virtual void | setSize (float width, float height)
virtual void | setWidth (float width)
virtual void | setHeight (float height)
void | setMinSize (float width, float height)
void | setMaxSize (float width, float height)
void | setRatio (float widthOverHeight)
virtual void | setAreaInParent (const nkMaths::Rectangle &area)
virtual void | setAreaInScreen (const nkMaths::Rectangle &area)
virtual void | setParentComponent (Component *parent, bool makeItVisible=true)
virtual void | setLabel (nkMemory::StringView label)
void | setComponentName (nkMemory::StringView name)
virtual void | setVisibility (bool value)
void | setData (void *data)
void | setEnabled (bool value)
void | setVisibleOnLoad (bool value)
void | setCloseCallback (std::function< bool(Component *caller)> callback)
void | setVisibilityCallback (std::function< void(Component *caller, bool visibility)> callback)
void | setClickCallback (std::function< void(Component *caller, const ClickEventData &eventData)> callback)
void | setWheelCallback (std::function< void(Component *caller, const WheelEventData &eventData)> callback)
void | setKeyCallback (std::function< void(Component *caller, const KeyEventData &eventData)> callback)
void | addChild (Component *child, bool makeItVisible=true)
void | removeChild (Component *child)
void | removeChild (unsigned int index)
Component * | getChild (unsigned int index)
unsigned int | getChildIndex (Component *child)
void | unloadWithChildren ()
void | loadWithChildren ()
void | updateZDepth ()
void | bringToForeground ()
void | focusWindow ()
nkMaths::Point | getCoordRelativeFromAbsolute (nkMaths::Point absCoords)
nkMaths::Point | getCoordAbsoluteFromRelative (nkMaths::Point relCoords)
virtual void | load ()=0
virtual void | unload ()=0
void | reload ()
virtual void | updateWindow ()
nkImages::Image | paintToImage (bool withFrame=false)
void | simulateEvent (const InputDescriptor &inputDescription)
virtual void | onSized ()
virtual void | exportClassToTree (nkExport::Node *rootNode) override
Public Member Functions inherited from nkExport::Exportable
| Exportable () noexcept
virtual | ~Exportable ()

## Static Public Member Functions
static nkMemory::UniquePtr< TreeView > | create (System *system=nullptr)

## Detailed Description

A graphical tree view window.

## Constructor & Destructor Documentation

## ◆ TreeView()

nkWinUi::TreeView::TreeView | ( | System * | system | ) |
| noexcept

Constructor.

Parameters

  system | The parent system in which the component will live.

Remarks
  See ComponentManager::createOrRetrieve().

## ◆ ~TreeView()

virtual nkWinUi::TreeView::~TreeView | ( |  | ) |
| virtual

Destructor.

## Member Function Documentation

## ◆ getItemFromData()

Item* nkWinUi::TreeView::getItemFromData | ( | void * | data | ) | const

Parameters

  data | The data attached to wanted item.

Returns
  The item requested if available, nullptr else.

## ◆ getSelectedItem()

virtual Item* nkWinUi::TreeView::getSelectedItem | ( |  | ) |
| pure virtual

Returns
  Currently selected item.

## ◆ getItemAtAbsoluteCursor()

virtual Item* nkWinUi::TreeView::getItemAtAbsoluteCursor | ( | nkMaths::Point | absCoords | ) |
| pure virtual

Parameters

  absCoords | The picking coordinates, absolute on screen.

Returns
  The item under given coordinates.

## ◆ getItemAtRelativeCursor()

virtual Item* nkWinUi::TreeView::getItemAtRelativeCursor | ( | nkMaths::Point | relCoords | ) |
| pure virtual

Parameters

  relCoords | The picking coordinates, relative to the component.

Returns
  The item under given coordinates.

## ◆ getSelectOnRightClick()

bool nkWinUi::TreeView::getSelectOnRightClick | ( |  | ) | const

Returns
  Whether the components selects an item when a right click occurs.

## ◆ getSelectionCallback()

std::function<void (TreeView*)> nkWinUi::TreeView::getSelectionCallback | ( |  | ) | const

Returns
  Currently set selection callback.

## ◆ setSelectionOnRightClick()

void nkWinUi::TreeView::setSelectionOnRightClick | ( | bool | value | ) |

Sets whether a right click should change selection.

Parameters

  value | If a right click selects an item (true) or not (false).

## ◆ setSelectionCallback()

void nkWinUi::TreeView::setSelectionCallback | ( | std::function< void(TreeView *)> | value | ) |

Sets the callback used when a selection change happens.

Parameters

  value | The callback to set. The argument will be the calling tree view.

Remarks
  The callback is called after the selection occurs.

## ◆ insertItem()

virtual Item* nkWinUi::TreeView::insertItem | ( | nkMemory::StringView | text,
|  | void * | data,
|  | Item * | parent = `nullptr`
| ) |  |
| virtual

Inserts an item within the tree view. The item will be inserted as the last element of its current scope.

Parameters

  text | The text to use for the item.
  data | The user data to attach to the item.
  parent | The parent item of item to insert.

Returns
  Newly created item fitting all requested conditions. The tree view owns its memory.

## ◆ deleteItem()

virtual void nkWinUi::TreeView::deleteItem | ( | Item * | toDelete,
|  | bool | keepChildrenOnUpper = `false`
| ) |  |
| virtual

Erases an item and free its memory.

Parameters

  toDelete | The item to erase.
  keepChildrenOnUpper | If the children should be reattached in the tree to the parent of item that should be deleted.

## ◆ changeItemLabel()

virtual void nkWinUi::TreeView::changeItemLabel | ( | Item * | toChange,
|  | nkMemory::StringView | label
| ) |  |
| virtual

Changes an item label.

Parameters

  toChange | The item to change.
  label | Label to set.

## ◆ clearItems()

virtual void nkWinUi::TreeView::clearItems | ( |  | ) |
| virtual

Clears all items from the tree.

## ◆ collapseAll()

void nkWinUi::TreeView::collapseAll | ( | bool | status | ) |

Collapses or not all the items within the tree.

Parameters

  status | Whether the items should all be collapsed (true) or not (false).

## ◆ selectItemFromItsData()

void nkWinUi::TreeView::selectItemFromItsData | ( | void * | data | ) |

Selects an item.

Parameters

  data | The data attached to the item to select.

## ◆ selectItem()

virtual void nkWinUi::TreeView::selectItem | ( | Item * | item | ) |
| pure virtual

Selects an item.

Parameters

  item | The item to select.

## ◆ selectItemFromAbsoluteCursor()

void nkWinUi::TreeView::selectItemFromAbsoluteCursor | ( | nkMaths::Point | absCoords | ) |

Sets a selection from a cursor position.

Parameters

  absCoords | The cursor position, absolute on screen.

## ◆ selectItemFromRelativeCursor()

void nkWinUi::TreeView::selectItemFromRelativeCursor | ( | nkMaths::Point | relCoords | ) |

Sets a selection from a cursor position.

Parameters

  relCoords | The cursor position, relative to the component.

## ◆ exportIntrospection()

virtual void nkWinUi::TreeView::exportIntrospection | ( | nkExport::Node * | rootNode | ) |
| override virtual

A basic exporting capability, for components inheriting. Components inheriting this class should rather reimplement this function to export their internal data.

Parameters

  rootNode | The root of the tree to export into.

Reimplemented from nkWinUi::Component.

## ◆ importClassFromTree()

virtual void nkWinUi::TreeView::importClassFromTree | ( | nkExport::Node * | rootNode | ) |
| override virtual

A basic importing capability.

Parameters

  rootNode | The root of the tree to import from.

Reimplemented from nkWinUi::Component.

## ◆ create()

static nkMemory::UniquePtr<TreeView> nkWinUi::TreeView::create | ( | System * | system = `nullptr` | ) |
| static

Creates a standalone component, linking it to a system, but no manager. This method can be used to allocate a component and manually manage its lifetime.

Parameters

  system | The system to create the component into. If left to nullptr, then the Singleton instance will be used.

Returns
  The created component instance.

The documentation for this class was generated from the following file:

- Documentation/Headers/NilkinsWinUi/Components/TreeView.h